// Decompiled by Jad v1.5.8e. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://www.geocities.com/kpdus/jad.html
// Decompiler options: braces fieldsfirst space lnc
package com.google.zxing.oned;
import com.google.zxing.BarcodeFormat;
import com.google.zxing.NotFoundException;
import com.google.zxing.common.BitArray;
// Referenced classes of package com.google.zxing.oned:
// UPCEANReader
public final class EAN13Reader extends UPCEANReader
{
static final int a[] = {
0, 11, 13, 14, 19, 25, 28, 21, 22, 26
};
private final int f[] = new int[4];
public EAN13Reader()
{
}
private static void a(StringBuilder stringbuilder, int i)
{
for (int j = 0; j < 10; j++)
{
if (i == a[j])
{
stringbuilder.insert(0, (char)(j + 48));
return;
}
}
throw NotFoundException.getNotFoundInstance();
}
BarcodeFormat a()
{
return BarcodeFormat.EAN_13;
}
protected int decodeMiddle(BitArray bitarray, int ai[], StringBuilder stringbuilder)
{
int ai1[] = f;
ai1[0] = 0;
ai1[1] = 0;
ai1[2] = 0;
ai1[3] = 0;
int i = bitarray.getSize();
int j = ai[1];
int k = 0;
int l = 0;
int l2;
for (; k < 6 && j < i; j = l2)
{
int j2 = a(bitarray, ai1, j, e);
stringbuilder.append((char)(48 + j2 % 10));
int k2 = ai1.length;
l2 = j;
for (int i3 = 0; i3 < k2; i3++)
{
l2 += ai1[i3];
}
if (j2 >= 10)
{
l |= 1 << 5 - k;
}
k++;
}
a(stringbuilder, l);
int i1 = a(bitarray, j, true, c)[1];
int l1;
for (int j1 = 0; j1 < 6 && i1 < i; i1 = l1)
{
stringbuilder.append((char)(48 + a(bitarray, ai1, i1, d)));
int k1 = ai1.length;
l1 = i1;
for (int i2 = 0; i2 < k1; i2++)
{
l1 += ai1[i2];
}
j1++;
}
return i1;
}
}